perm filename UUO.SHK[UP,DOC] blob
sn#002759 filedate 1972-10-09 generic text, type T, neo UTF8
Monitor Programmed Operators
Op Code Call Page # in Moorer
040 CALL AC,[SIXBIT /<function>] II.D.17-9
Multi-purpose UUO.
041 INIT <channel>,<mode> II.D.1-1
<device> Initialize a device
XWD OBUF,IBUF
<error routine>
042
043 SPCWAR N,ADR II.D.14-2
Initiate spacewar job
on PDP-6. Start job
at ADR every N 60ths
of a second.
044
045
046
047 CALLI AC,<function> II.D.17-9
Programmed operator
extension (Alias for
the CALL UUO)
050 OPEN <channel>,ADR II.D.1-2
<error return> Initialize a device
ADR: <mode>
<device>
XWD OBUF,IBUF
More Programmed Operators
051 TTYUUO <function>,ADR II.D.6-1
Teletype functions
0 INCHRW ADR
1 OUTCHR ADR
2 INCHRS ADR
<no character has been typed>
<successful return>
3 OUTSTR ADR II.D.6-2
4 INCHWL ADR
5 INCHSL ADR
<full line has not been typed yet>
<successful return>
6 GETLIN ADR
7 SETLIN ADR II.D.6-4
10 RESCAN ADR II.D.6-5
11 CLRBFI
12 CLRBFO
13 INSKIP
<no characters have been typed>
<there are characters waiting for you>
14 INWAIT II.D.6-6
052
053
054
055 RENAME <channel>,ADR II.D.3-4
<error return> Rename or delete a
file
ADR: <new file name or zero for deletion>
XWD <new extension, zero for delete>,0
<bits 0-8; new protection key, bits 9-35 are ignored>
<new ppn>
056 IN <channel>,ADR II.D.4-1
<successful return> INPUT and skip on
<error return> error or EOF
057 OUT <channel>,ADR II.D.4-1
<successful return> OUTPUT and skip on
<error return> error or EOF
060 SETSTS <channel>,ADR II.D.12-1
Set file status
061 STATO <channel>,BITS II.D.12-1
<all the bits in BITS are off> Skip if file status
<one or more of the bits in BITS is on> bits=1
Still More Programmed Operators
062 GETSTS <channel>,ADR II.D.12-1
Copy file status to
ADR
063 STATZ <channel>,BITS II.D.12-1
<one or more of the bits in BITS is on> Skip if file status
<all of the bits in BITS are off> bits=0
064 INBUF <channel>,<number of buffers> II.D.2-1
Set up input buffer
ring
065 OUTBUF <channel>,<number of buffers> II.D.2-1
Set up output buffer
ring
066 INPUT <channel>,ADR II.D.4-1
Request input or next
buffer
067 OUTPUT <channel>,ADR II.D.5-1
Request output or
next buffer
070 CLOSE <channel>,S II.D.5-1
Terminate file
operation
071 RELEAS <channel>,0 II.D.5-1
Release device
072 MTAPE <channel>,<function> II.D.7-1
Magnetic Tape UUO
073 UGETF <channel>,ADR II.D.11-1
Get next free DECtape
block number
074 USETI <channel>,<block number> II.D.11-1
Set next input block
number
075 USETO <channel>,<block number> II.D.11-1
Set next output block
number
Bride of Monitor Programmed Operators
076 LOOKUP <channel>,ADR II.D.3-1
<error return> Select a file for
input
ADR: <file name>
<file extension>
<this word ignored>
XWD <ignored unless disk>,<ppn>
077 ENTER <channel>,ADR II.D.3-3
<error return> Select a file for
output
ADR: <file name>
<file extension>
<protection - bits 0-8><creation data - bits 9-35>
<ppn>
Son of Monitor Programmed Operators
Op Code Call Page #
701 DPYCLR II.D.8-1
Returns III Display
to virgin state
702 PPIOT <function>,<arguement> II.D.8-1
0 PPSEL <piece of paper number> III Display Page
Printer UUO
1 PPACT <page specification> II.D.8-2
2 DPYPOS Y
3 DPYSIZ X*1000+Y
4 PPREL <piece of paper number> II.D.8-3
703 UPGIOT <piece of glass number>,ADR II.D.8-3
Run III Display
ADR: <address of display program> program
<length of display program in words>
704 UINBF <channel>,ADR II.D.2-1
Set up input buffer
ADR: <number of buffers> ring
<number of words of data in each buffer>+1
705 UOUTBF <channel>,ADR II.D.3-1
Set up output buffer
ADR: <number of buffers> ring
<number of words of data in each buffer>+1
706 FBREAD MOVE AC,<number of band> II.D.9-2
FBREAD AC,ADR Read Librascope band
<error return>
ADR: <address you want the data to go>
<number of words to be transferred>
<sector address of beginning of transfer>
707 FBWRT MOVE AC,<band number> II.D.10-1
FBWRT AC,ADR Write on a Librascope
<error return> band
ADR: <address of data>
<number of words of data>
<beginning sector number>
Return of the Monitor Programmed Operators
Op Code Call Page #
711 PTYUUO <function>,ADR II.D.6-7
ADR: <pseudo-teletype line number>
<this depends on the function>
0 PTYGET ADR II.D.6-8
<none available> Initialize PTY
<successful return>
1 PTYREL ADR II.D.6-9
Release PTY
2 PTIFRE ADR II.D.6-9
Return # of free char-
acters left in the
PTY's input buffer.
3 PTOCNT ADR II.D.6-9
Return # of characters
in PTY output buffer.
4 PTRD1S ADR II.D.6-9
<no character is present> PTY analog of INCHRS.
<successful return>
5 PTRD1W ADR II.D.6-10
PTY analog of INCHRW.
6 PTWR1S ADR II.D.6-10
<character cannot be transmitted>
<successful return> Transmit 9-bit char-
acter from ADR+1 to
PTY whose line # is
in ADR.
7 PTWR1W ADR II.D.6-10
Same as PTWR1S except
if the character can
not be transmitted,
UUO will wait until
there is room.
10 PTRDS ADR II.D.6-11
Gives you the char-
acters waiting in the
PTY output buffer.
Conquest of the Monitor Programmed Operators
Op Code Call Page #
711 PTYUUO <function>,ADR (continued)
11 PTWRS7 ADR II.D.6-11
Transmit ASCIZ string
12 PTWRS9 ADR II.D.6-11
Same as PTWRS7 except
uses 9-bit string.
13 PTGETL ADR II.D.6-12
PTY analog of GETLIN.
14 PTSETL ADR II.D.6-12
PTY analog of SETLIN.
15 PTLOAD ADR II.D.6-12
Load line editor
buffer.
Beyond the Valley of the Monitor Programmed Operators
712 POINTS ADR II.D.15-4
Put list of job
ADR: <table at least 25 locations long> numbers, including
your own, which refer
to your upper segment
in ADR and succed-
ing locations.
713 UPGMV AC,ADR II.D.9-1
MOVE word ADR in III
Display program to AC
714 UPGMVM AC,ADR II.D.9-1
MOVEM AC to word ADR
in III Display
program.
715 PGIOT <function>,<arguement> II.D.8-4
0 PGSEL <piece-of-glass number> III Display piece-of-
glass UUO
1 PGACT <piece-of-glass specification>
2 PGCLR
716 CHNSTS <channel>,ADR II.D.13-9
Place use bits for IO
channel into AC.
717 CLKINT <processor>,<number of devices> II.D.16-10
Enable job for clock
interrupts.
720 INTMSK <processor>,ADR II.D.16-9
Set the interrupt
mask for this pro-
cessor. (1 = PDP-10;
2 = PDP-6)
ADR: <interrupts this processor may receive>
721 IMSKST <processor>,ADR II.D.16-10
ADR: <bits to be ANDCAMed into processor mask>
722 IMSKCL <processor>,ADR II.D.16-10
723 INTUUO <function>,ADR II.D.16-10
Multi-purpose
0 INTJEN ADR interrupt UUO
ADR: <interrupt bits to be ORed in>
<PC word to go to>
CALL and CALLI Monitor Operations
CALLI Mnemonic Call Page and/or Comments
0 RESET CALL [SIXBIT /RESET/] II.D.17-8
Reset IO device.
4 DEVCHR MOVE AC,<device name> II.D.13-2
CALL AC,[SIXBIT /DEVCHR/] Get device character-
istics
10 WAIT CALL <channel>,[SIXBIT /WAIT/] II.D.17-1
Wait until all IO is
completed.
11 CORE CALL AC,[SIXBIT /CORE/] II.D.17-1
<error return> Change core size
<successful return>
12 EXIT CALL [SIXBIT /EXIT/] II.D.17-2
Close all channels
and ↑C.
13 UTPCLR CALL <channel>,[SIXBIT /UTPCLR/]II.D.10.1
Clear DECtape dir-
ctory
14 DATE CALL AC,[SIXBIT /DATE/] II.D.13-1
Return date
15 LOGIN CALL AC,[SIXBIT /LOGIN/] II.D.17-2
Priveleged UUO.
16 APRENB MOVE AC,<condition code> II.D.17-5
CALL AC,[SIXBIT /APRENB/] Enable central pro-
cessor traps.
17 LOGOUT CALL [SIXBIT /LOGOUT/] II.D.17-2
Priveleged UUO.
20 SWITCH CALL AC,[SIXBIT /SWITCH/] II.D.13-2
Read console data
switches
21 REASSI MOVE AC,<job number> II.D.17-8
MOVE AC+1,<device> Reassign device.
CALL AC,[SIXBIT /REASSI/]
22 TIMER CALL AC,[SIXBIT /TIMER/] II.D.13-1
Read time of day in
clock ticks
CALL and CALLI Monitor Operations
23 MSTIME CALL AC,[SIXBIT /MSTIME/] II.D.13-1
Read time of day in
milliseconds
24 GETPPN MOVE AC,<number of job> II.D.13-2
CALL AC,[SIXBIT /GETPPN/] Return ppn of job
27 RUNTIM MOVE AC,<number of job or 0> II.D.13-1
CALL AC,[SIXBIT /RUNTIM/] Return the job's
running time in
milliseconds
30 PJOB CALL AC,[SIXBIT /PJOB/] II.D.13-2
Return job number
31 SLEEP MOVE AC,<number of seconds> II.D.17-3
CALL AC,[SIXBIT /SLEEP/] Put the job to sleep.
33 PEEK II.D.13-4
MOVE AC,<address you want to look at>
CALL AC,[SIXBIT /PEEK/] Return contents of
executive addr.
36 SETUWP MOVE AC,<0=protect,≠0=unprotect>II.D.15-2
CALL AC,[SIXBIT /SETUWP/] Write-protect or un-
<protection violation> protect high segment.
37 REMAP MOVEI AC,<highest addr in lower>II.D.15-1
CALL AC,[SIXBIT /REMAP/] Remap top of low
<error return> segment into high
segment.
CALL and CALLI Monitor Operations
400000 SPCWAR CALL AC,[SIXBIT /SPCWAR/] II.D.14-3
Read status of
spacewar buttons into
AC.
400001 CTLV CALL [SIXBIT /CTLV/] II.D.6-7
Turn TTY duplexing on
and off.
400002 SETNAM MOVE AC,<name you want> II.D.17-7
CALL AC,[SIXBIT /SETNAM/] Change you name.
400003 SPCWGO CALL AC,[SIXBIT /SPCWGO/] II.D.14-3
Initiate spacewar job
AC: bit 0 = job on PDP-10 on either or both
1 = job on PDP-6 processors. Put info
about the job in AC.
<if both bits=0, then job run on PDP-6>
14-17 = time in 60ths of a second between spacewar
startups
400004 SWAP MOVE AC,[XWD E,F] II.D.17-6
CALL AC,[SIXBIT /SWAP/] SAVE your core image
and then RUN another
E: <device> program.
<file>
<file extension>
XWD <core size in 1K blocks>,<starting addr.>
<ppn>
F: <device>
<file>
XWD <file extension>,<mode bits>
XWD <core size in 1K blocks>,<starting
address increment>
<ppn>
400005 EIOTM CALL [SIXBIT /EIOTM/] II.D.17-1
Go into IOT-USER mode
400006 LIOTM CALL [SIXBIT /LIOTM/] II.D.17-1
Get out of IOT-USER
mode.
400007 PNAME MOVE AC,<device> II.D.13-8
CALL AC,[SIXBIT /PNAME/] Return physical name
of device
<error return - device doesn't exist>
CALL and CALLI Monitor Operations
400010 UFBGET II.D.9-1
Get a Librascope band
MOVE AC,<number of the band you want>
CALL AC,[SIXBIT /UFBGET/]
<no bands available>
400011 UFBGIV II.D.9-2
Release Librascope
band
MOVE AC,<number of the band you wish to release>
CALL AC,[SIXBIT /UFBGIV/]
400012 UFBCLR CALL [SIXBIT /UFBCLR/] II.D.9-1
Release any and all
Librascope bands you
may have.
400013 JBTSTS CALL AC,[SIXBIT /JBTSTS/] II.D.13-8
Get job status word
for job # in AC.
400014 TTYIOS II.D.6-6
Returns TTY IO status
bits.
MOVE AC,<teletype name in SIXBIT>
CALL AC,[SIXBIT /TTYIOS/]
400015 CORE2 II.D.15-2
MOVE AC,<highest upper segment address desired>
CALL AC,[SIXBIT /CORE2/] Make or kill high
segment.
<not available or protection violation>
400016 ATTSEG MOVE AC,<job number or name> II.D.15-2
CALL AC,[SIXBIT /ATTSEG/] Attach already exist-
<error - error code in AC> ant upper segment to
a lower that doesn't
already have one.
400017 DETSEG CALL [SIXBIT /DETSEG/] II.D.15-3
Detach upper segment
400021 SEGNUM CALL AC,[SIXBIT /SEGSIZ/] II.D.15-3
Place number of your
high segment into AC.
400022 SEGSIZ CALL AC,[SIXBIT /SEGSIZ/] II.D.15-3
Place length of upper
segment minus one
into AC.
CALL and CALLI Monitor Operations
400023 LINKUP CALL [SIXBIT /LINKUP/] II.D.15-4
<error return> Attach to high seg-
ment with same job
name, date of cre-
ation, etc...
400034 UWAIT CALL [SIXBIT /UWAIT/] II.D.16-7
At interrupt-level,
returns immediately
if your user-level
job was not in the
middle of doing a UUO
at the time the int-
errupt occurs, or re-
turns when the UUO is
completed.
400035 DEBREAK CALL [SIXBIT /DEBREAK/] II.D.16-8
At interrupt-level,
causes your inter-
rupt-level process
to become your user-
level process immedi-
ately following the
DEBREAK UUO.
400040 IWAIT CALL [SIXBIT /IWAIT/] II.D.16-8
Put job into wait
state until an inter-
rupt occurs.
400041 USKIP CALL [SIXBIT /USKIP/] II.D.16-7
<returns here if UWAIT will proceed>
At interrupt-level,
tells you whether you
may give a UWAIT UUO
and proceed immediat-
ely or not.
400042 BUFLEN MOVE AC,[SIXBIT /<device name>/]II.D.13-10
CALL AC,[SIXBIT /BUFLEN/] Return length of
buffer which would be
set up by an INIT and
an INBUF or OUTBUF.
CALL and CALLI Monitor Operations
400043 NAMEIN MOVE AC,[SIXBIT /job name/] II.D.13-10
CALL AC,[SIXBIT /NAMEIN/] Determine whether a
<error return - code in AC> job name is currently
in use.
Code 1 = No jobs with
that name.
Code 2 = > 1 job with
that name.
400044 SLEVEL II.D.17-9
MOVE AC,[XWD <service level>,<job number>]
CALL AC,[SIXBIT /SLEVEL/] Determines or decre-
ments your service
level.
400045 IENBW MOVE AC,<interrupt bits> II.D.16-9
CALL AC,[SIXBIT /IENBW/] Avoid interrupt race
conditions by going
into wait state
IMMEDIATELY.
400046 RUNMSK MOVE AC,<processor enble bits> II.D.17-8
CALL AC,[SIXBIT /RUNMSK/] Set number of pro-
cessor which will
run your job.